package cn.vcjf.weapp.api.goods.controller;


import org.springframework.web.bind.annotation.RequestMapping;

import javax.annotation.Resource;

import org.springframework.web.bind.annotation.ResponseBody;
import cn.vcjf.weapp.common.web.TableResult;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.plugins.Page;
import cn.vcjf.weapp.api.goods.entity.GoodsType;
import cn.vcjf.weapp.api.goods.service.GoodsTypeService;

import org.springframework.stereotype.Controller;

/**
 * <p>
 * 前端控制器
 * </p>
 *
 * @author zhengzihang
 * @since 2018-09-25
 */
@Controller
@RequestMapping("/goods/goodsType")
public class GoodsTypeController {
	@Resource
	private GoodsTypeService goodsTypeService;

	@RequestMapping("/findGoodsTypeOne")
	@ResponseBody
	public TableResult findGoodsTypeOne(GoodsType goodsType) {

		EntityWrapper<GoodsType> wrapper = new EntityWrapper<GoodsType>();

		if (goodsType.getId() != null) {
			wrapper.eq("id", goodsType.getId());
		}
		//Todo

		GoodsType result = goodsTypeService.selectOne(wrapper);

		return TableResult.OKResult(result);
	}

	@RequestMapping("/findOneLevelGoodsTypeList")
	@ResponseBody
	public TableResult findOneLevelGoodsTypeList(GoodsType goodsType) {

		EntityWrapper<GoodsType> wrapper = new EntityWrapper<GoodsType>();

		if (goodsType.getId() != null) {
			wrapper.eq("typeLevel", 1);
//			wrapper.orderBy("");
		}
		//Todo

		Page<GoodsType> page = goodsType.getPageInfo();

		page = goodsTypeService.selectPage(page, wrapper);

		return TableResult.OKResult(page);

	}

	//获取二级分类
	@RequestMapping("/findGoodsTypeList")
	@ResponseBody
	public TableResult findGoodsTypeList(GoodsType goodsType) {

		EntityWrapper<GoodsType> wrapper = new EntityWrapper<GoodsType>();

		wrapper.eq("sysUserId", goodsType.getSysUserId());
		if (goodsType.getTypeLevel()!=1) {
			wrapper.eq("parentId", goodsType.getParentId());
		}
		wrapper.eq("typeLevel", goodsType.getTypeLevel());

		Page<GoodsType> page = goodsType.getPageInfo();

		page = goodsTypeService.selectPage(page, wrapper);

		return TableResult.OKResult(page);

	}

	@RequestMapping("/deleteGoodsType")
	@ResponseBody
	public TableResult deleteGoodsType(GoodsType goodsType) {
		goodsType.preUpdate();
		boolean b = goodsTypeService.deleteById(goodsType.getId());
		return TableResult.Result(b);
	}

}
